<?php
class Shopping_AdminCategoryController extends Zendvn_Controller_Action{

    //Mang tham so nhan duoc o moi action
    protected $_arrParam;

    //Duong dan cua controller
    protected $_currentController;
    
    //Duong dan cua Action chinh
    protected $_actionMain;
	
    //Thong so phan trang
    protected $_paginator = array(
                                'ItemCountPerPage' => 5,
                                'PageRange' => 3,
                                );
	protected $_namespace;


    public function init() {
        //Mang tham so nhan duoc o moi action
        $this->_arrParam    =   $this->_request->getParams();
        
        //Duong dan cua controller
        $this->_currentController   =   '/' . $this->_arrParam['module'] 
                                      . '/' . $this->_arrParam['controller'];
        
        //Duong dan cua Action chinh
        $this->_actionMain  =   $this->_currentController . '/index';
        
        $this->_paginator['currentPage'] = $this->_request->getParam('page', 1);
        $this->_arrParam['paginator'] = $this->_paginator;

        //Luu cac du lieu filter vao SESSION
        //Dat ten SESSION
        $this->_namespace  = $this->_arrParam['module'] . '-' . $this->_arrParam['controller'];
        $ssFilter = new Zend_Session_Namespace($this->_namespace);
//	$ssFilter->unsetAll();
        if(empty($ssFilter->col)){
                $ssFilter->keywords = '';
        }

        $this->_arrParam['ssFilter']['keywords'] = $ssFilter->keywords;
		
        //Truyen ra view
        $this->view->arrParam   =   $this->_arrParam;
        $this->view->currentController  =   $this->_currentController ;
        $this->view->actionMain  =   $this->_actionMain;
        
        $template_path  =   TEMPLATE_PATH . "/admin/system";
        $this->loadTemplate($template_path , 'template.ini', 'template');
    }
    
    public function indexAction() {
        $this->view->Title = 'Product :: Category manager :: List';
        $this->view->headTitle($this->view->Title, true);
        
        $tblCategory = new Shopping_Model_Category();
        $this->view->Items  = $tblCategory->listItem($this->_arrParam, array('task'=>'admin-list'));
    }
    
    public function addAction() {
        $this->view->Title = 'Product :: Category manager :: Add';
        $this->view->headTitle($this->view->Title, true);
        
        $tblCategory = new Shopping_Model_Category();
        $this->view->slbCategory = $tblCategory->itemInSelectBox();
        
        if($this->_request->isPost()){
            $tblCategory->saveItem($this->_arrParam, array('task'=>'admin-add'));
            $this->_redirect($this->_actionMain);
        }
    }
    
    public function editAction() {
        $this->view->Title = 'Product :: Category manager :: Edit';
        $this->view->headTitle($this->view->Title, true);
        
        $tblCategory = new Shopping_Model_Category();
        $this->view->Item = $tblCategory->getItem($this->_arrParam, array('task'=>'admin-edit'));
        $this->view->slbCategory = $tblCategory->itemInSelectBox($this->_arrParam, array('task'=>'admin-edit'));
        if($this->_request->isPost()){
            $tblCategory->saveItem($this->_arrParam, array('task'=>'admin-edit'));
            $this->_redirect($this->_actionMain);
        }
    }
    
    public function deleteAction() {
        $this->view->Title = 'Product :: Category manager :: Delete';
        $this->view->headTitle($this->view->Title, true);
        if($this->_request->isPost()){
            $tblCategory = new Shopping_Model_Category();
            $tblCategory->deleteItem($this->_arrParam, array('task'=>'admin-delete'));
            $this->_redirect($this->_actionMain);
        }
    }
    
    public function statusAction() {
        echo '<br/>' . __METHOD__;
        $this->_helper->viewRenderer->setNoRender();
        }
    
    public function filterAction() {
        echo '<br/>' . __METHOD__;
        $this->_helper->viewRenderer->setNoRender();
    }
    
    public function infoAction() {
        echo '<br/>' . __METHOD__;
        $this->_helper->viewRenderer->setNoRender();
    }
    
    public function multiDeleteAction() {
        if($this->_request->isPost()){
            $tblCategory = new Shopping_Model_Category();
            $tblCategory->deleteItem($this->_arrParam, array('task'=>'admin-multi-delete'));
        }
        $this->_redirect($this->_actionMain);
        $this->_helper->viewRenderer->setNoRender();
    }
    
    public function sortAction() {
        if($this->_request->isPost()){
            $tblCategory = new Shopping_Model_Category();
            $tblCategory->sortItem($this->_arrParam);
            $this->_redirect($this->_actionMain);
        }
    }
}